package com.itheima.web.request;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

@WebServlet("req")
public class Demo extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //存储数据
        req.setAttribute("name", "tom");
        //请求转发
        req.getRequestDispatcher("/req6").forward(req, resp);


        /*
        请求转发三特点：
        浏览器地址栏路径不变
        只能转发到当前服务器内部资源
        一次请求，可以在转发的资源间用request共享数据

      浏览器地址栏发生变化
      一次请求 可以在转发的资源间共享request的数据
      转发请求只能转发当前服务器内部的资源

重定向的特点：
浏览器地址栏不发生变化
可以访问任意位置的资源（服务器内部外部均可）
转发的请求不可以在资源间使用request共享数据


响应字符数据
                    PrintWriter writer=resp.getWriter();
                    writer.write("aaaa");;
                这个流不需要关闭 随着服务器的关闭会自动关闭
                中文数据编码 原因是通过Response获取的字符输出流默认编码是ISO-8859-1
    响应字节数据
                   ServletOutPutSteam outputstream=resp.getOutPutStream();
                   outputSteam.write("aaaa");

         */

    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        //设置中文乱码
        resp.setContentType("text/html;charset=utf-8");

        resp.setContentType("text/html;charset=utf-8");
    }

    @Override
    protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.service(req, resp);
    }
}
